package cn.edu.njtc.common;

import cn.edu.njtc.exception.BizException;
import org.springframework.web.bind.annotation.ExceptionHandler;
import org.springframework.web.bind.annotation.RestControllerAdvice;

/**
 * 全局异常处理类,基于AOP实现全局异常捕获
 * @RestControllerAdvice :注解表示该类是一个全局异常处理类
 *
 * 我们发现：异常处理的过程中分为两种类型：
 * java自带的类型，
 */
@RestControllerAdvice
public class GlobalExpectionHandler {

    @ExceptionHandler(BizException.class)
    public R handleBizException(BizException e) {
        return R.failed(e.getCode(),e.getMessage());
    }

    @ExceptionHandler(Exception.class)
    public R handleException(Exception e) {
        e.printStackTrace();
        return R.failed("系统开小差，请稍后再试");
    }

}
